package cn.ibizlab.central.plugin.odoo.dataentity.dto;

import java.math.BigInteger;
import java.sql.Timestamp;
import java.util.Date;
import java.util.List;
import java.math.BigDecimal;
import java.util.Map;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import net.ibizsys.runtime.util.DataTypeUtils;
import net.ibizsys.central.util.IEntityDTO;


public class MailResendPartnerDTO extends cn.ibizlab.central.plugin.odoo.util.OdooEntityDTOBase {

    /**
     * 属性: 建立时间
     */
    public final static String FIELD_CREATE_DATE = "create_date";

    /**
     * 属性: 建立人
     */
    public final static String FIELD_CREATE_UID = "create_uid";

    /**
     * 属性: 显示名称
     */
    public final static String FIELD_DISPLAY_NAME = "display_name";

    /**
     * 属性: 标识
     */
    public final static String FIELD_ID = "id";

    /**
     * 属性: 错误消息
     */
    public final static String FIELD_MESSAGE = "message";

    /**
     * 属性: 通知
     */
    public final static String FIELD_NOTIFICATION_ID = "notification_id";

    /**
     * 属性: 重试
     */
    public final static String FIELD_RESEND = "resend";

    /**
     * 属性: 重发向导
     */
    public final static String FIELD_RESEND_WIZARD_ID = "resend_wizard_id";

    /**
     * 属性: 更新时间
     */
    public final static String FIELD_WRITE_DATE = "write_date";

    /**
     * 属性: 更新人
     */
    public final static String FIELD_WRITE_UID = "write_uid";

    /**
     * 设置「建立时间」
     * @param val
     */
    @JsonProperty(FIELD_CREATE_DATE)
    public MailResendPartnerDTO setCreateDate(Timestamp val) {
        this._set(FIELD_CREATE_DATE, val);
        return this;
    }

    /**
     * 获取「建立时间」值
     *
     */
    @JsonIgnore
    public Timestamp getCreateDate() {
        return DataTypeUtils.asDateTimeValue(this._get(FIELD_CREATE_DATE), null);
    }

    /**
     * 判断 「建立时间」是否有值
     *
     */
    @JsonIgnore
    public boolean containsCreateDate() {
        return this._contains(FIELD_CREATE_DATE);
    }

    /**
     * 重置 「建立时间」
     *
     */
    @JsonIgnore
    public MailResendPartnerDTO resetCreateDate() {
        this._reset(FIELD_CREATE_DATE);
        return this;
    }

    /**
     * 设置「建立人」
     * 代码表[云系统操作者]
     * @param val
     */
    @JsonProperty(FIELD_CREATE_UID)
    public MailResendPartnerDTO setCreateUid(String val) {
        this._set(FIELD_CREATE_UID, val);
        return this;
    }

    /**
     * 获取「建立人」值
     * 代码表[云系统操作者]
     *
     */
    @JsonIgnore
    public String getCreateUid() {
        return DataTypeUtils.asString(this._get(FIELD_CREATE_UID), null);
    }

    /**
     * 判断 「建立人」是否有值
     *
     */
    @JsonIgnore
    public boolean containsCreateUid() {
        return this._contains(FIELD_CREATE_UID);
    }

    /**
     * 重置 「建立人」
     *
     */
    @JsonIgnore
    public MailResendPartnerDTO resetCreateUid() {
        this._reset(FIELD_CREATE_UID);
        return this;
    }

    /**
     * 设置「显示名称」
     * @param val
     */
    @JsonProperty(FIELD_DISPLAY_NAME)
    public MailResendPartnerDTO setDisplayName(String val) {
        this._set(FIELD_DISPLAY_NAME, val);
        return this;
    }

    /**
     * 获取「显示名称」值
     *
     */
    @JsonIgnore
    public String getDisplayName() {
        return DataTypeUtils.asString(this._get(FIELD_DISPLAY_NAME), null);
    }

    /**
     * 判断 「显示名称」是否有值
     *
     */
    @JsonIgnore
    public boolean containsDisplayName() {
        return this._contains(FIELD_DISPLAY_NAME);
    }

    /**
     * 重置 「显示名称」
     *
     */
    @JsonIgnore
    public MailResendPartnerDTO resetDisplayName() {
        this._reset(FIELD_DISPLAY_NAME);
        return this;
    }

    /**
     * 设置「标识」
     * @param val
     */
    @JsonProperty(FIELD_ID)
    public MailResendPartnerDTO setId(String val) {
        this._set(FIELD_ID, val);
        return this;
    }

    /**
     * 获取「标识」值
     *
     */
    @JsonIgnore
    public String getId() {
        return DataTypeUtils.asString(this._get(FIELD_ID), null);
    }

    /**
     * 判断 「标识」是否有值
     *
     */
    @JsonIgnore
    public boolean containsId() {
        return this._contains(FIELD_ID);
    }

    /**
     * 重置 「标识」
     *
     */
    @JsonIgnore
    public MailResendPartnerDTO resetId() {
        this._reset(FIELD_ID);
        return this;
    }

    /**
     * 设置「错误消息」
     * @param val
     */
    @JsonProperty(FIELD_MESSAGE)
    public MailResendPartnerDTO setMessage(String val) {
        this._set(FIELD_MESSAGE, val);
        return this;
    }

    /**
     * 获取「错误消息」值
     *
     */
    @JsonIgnore
    public String getMessage() {
        return DataTypeUtils.asString(this._get(FIELD_MESSAGE), null);
    }

    /**
     * 判断 「错误消息」是否有值
     *
     */
    @JsonIgnore
    public boolean containsMessage() {
        return this._contains(FIELD_MESSAGE);
    }

    /**
     * 重置 「错误消息」
     *
     */
    @JsonIgnore
    public MailResendPartnerDTO resetMessage() {
        this._reset(FIELD_MESSAGE);
        return this;
    }

    /**
     * 设置「通知」
     * @param val
     */
    @JsonProperty(FIELD_NOTIFICATION_ID)
    public MailResendPartnerDTO setNotificationId(String val) {
        this._set(FIELD_NOTIFICATION_ID, val);
        return this;
    }

    /**
     * 获取「通知」值
     *
     */
    @JsonIgnore
    public String getNotificationId() {
        return DataTypeUtils.asString(this._get(FIELD_NOTIFICATION_ID), null);
    }

    /**
     * 判断 「通知」是否有值
     *
     */
    @JsonIgnore
    public boolean containsNotificationId() {
        return this._contains(FIELD_NOTIFICATION_ID);
    }

    /**
     * 重置 「通知」
     *
     */
    @JsonIgnore
    public MailResendPartnerDTO resetNotificationId() {
        this._reset(FIELD_NOTIFICATION_ID);
        return this;
    }

    /**
     * 设置「重试」
     * 代码表[是否]
     * //@see cn.ibizlab.ibizodoo.core.runtime.dict.StaticDict.YesNo
     * @param val
     */
    @JsonProperty(FIELD_RESEND)
    public MailResendPartnerDTO setResend(Integer val) {
        this._set(FIELD_RESEND, val);
        return this;
    }

    /**
     * 获取「重试」值
     * 代码表[是否]
     * //@see cn.ibizlab.ibizodoo.core.runtime.dict.StaticDict.YesNo
     *
     */
    @JsonIgnore
    public Integer getResend() {
        return DataTypeUtils.asInteger(this._get(FIELD_RESEND), null);
    }

    /**
     * 判断 「重试」是否有值
     *
     */
    @JsonIgnore
    public boolean containsResend() {
        return this._contains(FIELD_RESEND);
    }

    /**
     * 重置 「重试」
     *
     */
    @JsonIgnore
    public MailResendPartnerDTO resetResend() {
        this._reset(FIELD_RESEND);
        return this;
    }

    /**
     * 设置「重发向导」
     * @param val
     */
    @JsonProperty(FIELD_RESEND_WIZARD_ID)
    public MailResendPartnerDTO setResendWizardId(String val) {
        this._set(FIELD_RESEND_WIZARD_ID, val);
        return this;
    }

    /**
     * 获取「重发向导」值
     *
     */
    @JsonIgnore
    public String getResendWizardId() {
        return DataTypeUtils.asString(this._get(FIELD_RESEND_WIZARD_ID), null);
    }

    /**
     * 判断 「重发向导」是否有值
     *
     */
    @JsonIgnore
    public boolean containsResendWizardId() {
        return this._contains(FIELD_RESEND_WIZARD_ID);
    }

    /**
     * 重置 「重发向导」
     *
     */
    @JsonIgnore
    public MailResendPartnerDTO resetResendWizardId() {
        this._reset(FIELD_RESEND_WIZARD_ID);
        return this;
    }

    /**
     * 设置「更新时间」
     * @param val
     */
    @JsonProperty(FIELD_WRITE_DATE)
    public MailResendPartnerDTO setWriteDate(Timestamp val) {
        this._set(FIELD_WRITE_DATE, val);
        return this;
    }

    /**
     * 获取「更新时间」值
     *
     */
    @JsonIgnore
    public Timestamp getWriteDate() {
        return DataTypeUtils.asDateTimeValue(this._get(FIELD_WRITE_DATE), null);
    }

    /**
     * 判断 「更新时间」是否有值
     *
     */
    @JsonIgnore
    public boolean containsWriteDate() {
        return this._contains(FIELD_WRITE_DATE);
    }

    /**
     * 重置 「更新时间」
     *
     */
    @JsonIgnore
    public MailResendPartnerDTO resetWriteDate() {
        this._reset(FIELD_WRITE_DATE);
        return this;
    }

    /**
     * 设置「更新人」
     * 代码表[云系统操作者]
     * @param val
     */
    @JsonProperty(FIELD_WRITE_UID)
    public MailResendPartnerDTO setWriteUid(String val) {
        this._set(FIELD_WRITE_UID, val);
        return this;
    }

    /**
     * 获取「更新人」值
     * 代码表[云系统操作者]
     *
     */
    @JsonIgnore
    public String getWriteUid() {
        return DataTypeUtils.asString(this._get(FIELD_WRITE_UID), null);
    }

    /**
     * 判断 「更新人」是否有值
     *
     */
    @JsonIgnore
    public boolean containsWriteUid() {
        return this._contains(FIELD_WRITE_UID);
    }

    /**
     * 重置 「更新人」
     *
     */
    @JsonIgnore
    public MailResendPartnerDTO resetWriteUid() {
        this._reset(FIELD_WRITE_UID);
        return this;
    }

}
